package org.praisebase.pbpj.component;

import org.praisebase.pbpj.component.Song;
import org.praisebase.pbpj.io.SongSourceFormat;

/**
 *
 * @author Nicolas Perrenoud <nicu@lavine.ch>
 */
public class SongContainer {
	
	private Song song;
	private SongSourceFormat sourceFormat;
	private String sourceFormatVersion;
	private String sourceLocation;
	private String sourceGenerator;

	public SongContainer() {
	}

	public Song getSong() {
		return song;
	}

	public void setSong(Song song) {
		this.song = song;
	}

	public SongSourceFormat getSourceFormat() {
		return sourceFormat;
	}

	public void setSourceFormat(SongSourceFormat sourceFormat) {
		this.sourceFormat = sourceFormat;
	}

	public String getSourceFormatVersion() {
		return sourceFormatVersion;
	}

	public void setSourceFormatVersion(String sourceFormatVersion) {
		this.sourceFormatVersion = sourceFormatVersion;
	}

	public String getSourceGenerator() {
		return sourceGenerator;
	}

	public void setSourceGenerator(String sourceGenerator) {
		this.sourceGenerator = sourceGenerator;
	}

	public String getSourceLocation() {
		return sourceLocation;
	}

	public void setSourceLocation(String sourceLocation) {
		this.sourceLocation = sourceLocation;
	}
	
	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append("Location:").append(getSourceLocation()).append("\n");
		sb.append("Format:").append(getSourceFormat()).append("\n");
		sb.append("FormatVersion:").append(getSourceFormatVersion()).append("\n");
		sb.append("Generator:").append(getSourceGenerator()).append("\n");
		sb.append(getSong()).append("\n");
		return sb.toString();
	}
}
